// SmilParser.h: interface for the CSmilParser class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SMILPARSER_H__1371BFDB_90F2_4CF3_977F_314AAD872BE3__INCLUDED_)
#define AFX_SMILPARSER_H__1371BFDB_90F2_4CF3_977F_314AAD872BE3__INCLUDED_

#include <vector>
#include <string>
#include "OSHeaders.h"
#include "Globle.h"

class XMLDoc;
class XMLNode;

class CSmilParser  
{
public:
	CSmilParser();
	~CSmilParser();
	
	Bool Execute( const string& strFileName );
	Bool GetSource( string& outVal );
	Bool GetStartTime( string& outVal );

	Bool CloneSmil( const string& strFileName );
	Bool SetSource( const string& inVal );
	Bool SetStartTime( const string& inVal );
	Bool SaveFile();
private:
	Bool GetContent( const string& strPos, string& outVal );
	Bool SetContent( const string& strPos, const string& inVal );
	Bool GetProperty( const string& strPos, const string& strProperty, string& outVal );	
	Bool SetProperty( const string& strPos, const string& strProperty, const string& inVal );	
	XMLNode* GetNode( const string& strPos );
	void SplitString( const string& inStr, vector<string>& outVec, const string Delimiter="/" );	
	XMLDoc* m_pDoc;
};

#endif // !defined(AFX_SMILPARSER_H__1371BFDB_90F2_4CF3_977F_314AAD872BE3__INCLUDED_)
